
gs-table.results-table >
        .table-root >
        .table-table-container >
        .table-data-container >
        .table-data-viewport >
        gs-cell.result-cell {
    overflow: auto;
    padding: 0.25em;
    white-space: pre-wrap;
}

.ace-selected-query {
    position: absolute;
    background-color: #FBFFBE;
    z-index: 4;
}

#menu-button-new-tab {
    position: relative;
}

#menu-button-new-tab-plus {
    position: absolute;
    display: inline-block;
    height: 1em;
    width: 1em;
    text-align: center;
    font-size: 1em;
    font-weight: 900;
    line-height: 0.85em;
    left: 0.9em;
    top: 50%;
    margin-top: -0.5em;
}

.panel-resizable {
    position: relative;
}

/* ####################################################### */
/* ############### ACE RELATIVE  FONT SIZE ############### */
/* ####################################################### */

/* declaring the font size with EMs makes it so that the
        ace can change it's font size in response to Postage's
        zoom code */
.ace_editor {
    font-size: 0.8em;
    cursor: default;
}

/* ####################################################### */
/* #################### PANEL RESIZE #################### */
/* ####################################################### */

.panel-resize-bar {
    position: absolute;
    top: 0;
    right: -6px;
    width: 10px;
    height: 100%;
    cursor: ew-resize;
}

/* ####################################################### */
/* #################### CLEAN IFRAMES #################### */
/* ####################################################### */

.full-iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

.postage-menu-item-button {
    border: 0 none;

    text-align: center;
    padding: 0.75em !important;
    border-bottom: 1px solid #ccc;

    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
}
.postage-menu-item-button[icon] {
    text-align: left;
    padding-left: 2.25em !important;
}
.postage-menu-item-button[icon]:after {
    top: 50% !important;
    margin-top: -0.6em;
    left: 0.4em !important
}
.postage-menu-item-button:last-child {
    border-bottom: 0 none;
}


#button-open-tabs:after {
    line-height: 1.4;
}

/* ###################################################### */
/* ############### LEFT PANEL OPEN BUTTON ############### */
/* ###################################################### */

#panel:not([left-bar="hide"]) #panel-open {
    display: none;
}

/* ##################################################### */
/* ############## RIGHT PANEL OPEN BUTTON ############## */
/* ##################################################### */

#panel:not([right-bar="hide"]) #button-property-panel {
    display: none;
}

/* ##################################################### */
/* ################# STATISTICS TABLES ################# */
/* ##################################################### */

table.table-stats td,
table.table-stats th {
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    white-space: pre-wrap;
    word-break: break-word; /* break-word is fine, Ace's CSS validator might be behind */
}
table.table-stats {
    border-left: 1px solid #CCC;
    border-top: 1px solid #CCC;
}

table.table-stats th {
    width: 14em;
    text-align: right;
}


/* ##################################################### */
/* ################### DEPEND TABLES ################### */
/* ##################################################### */

table.table-dep td,
table.table-dep th {
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    white-space: pre-wrap;
    word-break: break-word; /* break-word is fine, Ace's CSS validator might be behind */
}
table.table-dep {
    width: 100%;
    border-left: 1px solid #CCC;
    border-top: 1px solid #CCC;
}

table.table-dep th {
    text-align: center;
}


/* ##################################################### */
/* ###################### BUTTONS ###################### */
/* ##################################################### */

.ace-toolbar gs-button {
    text-indent: 0;
    /*padding: 4px;*/
}
.ace-toolbar-labeled gs-button {
    text-indent: 0;
    padding: 4px;
}

/* ##################################################### */
/* ################### SAVE AS BUTTON ################## */
/* ##################################################### */

#button-tab-current-save-as {
    position: relative;
    line-height: 1em;
    text-indent: 0;
    padding: 0;
    overflow: hidden;
}

#button-tab-current-save-as .save-as-floppy {
    font-family: fontawesome;
    display: inline-block;
	top: 0.65em;
	left: 0.65em;
	margin-top: -0.57em;
	margin-left: -0.56em;
	position: absolute;
    display: block;
    width: 1.12em;
    height: 1.12em;
    text-align: center;
    text-indent: 0;
    line-height: 1.25;
    font-size: 1.4em;
}

#button-tab-current-save-as .save-as-pencil {
    font-family: fontawesome;
    display: inline-block;
	top: 1em;
	left: 1em;
	margin-top: -0.37em;
	margin-left: -0.35em;
	position: absolute;
    display: block;
    width: 1.12em;
    height: 1.12em;
    text-align: center;
    text-indent: 0;
    line-height: 1.25;
    font-size: 1.4em;
}

.ace-toolbar gs-button.button-save-as {
    text-indent: 0;
    line-height: 1em;
    padding: 0.05em;
	padding-right: 0.65em;
}

.ace-toolbar gs-button.button-save-as .save-as-floppy {
	font-size: 1.4em;
    line-height: 1.55em;
	margin-left: 0.3em;
	margin-right: 0.3em;
	font-family: fontawesome;
}

.ace-toolbar gs-button.button-save-as .save-as-floppy:after {
    position: absolute;
    display: inline-block;
    height: 1em;
    width: 1em;
    text-align: center;
    font-size: 1em;
    font-weight: 900;
    line-height: 1em;
	left: 0.6em;
	top: 0.65em;
	font-family: fontawesome;
}

.ace-toolbar gs-button.button-save-as .save-as-floppy[icon="pencil"]:after {
	content: '\f040';
}


/* ##################################################### */
/* ################## EXPLAIN BUTTONS ################## */
/* ##################################################### */

gs-button.button-pop-out-explain {
	position: absolute;
    top: 0;
    right: 0;
	font-size: 1.3em;
}

.ace-toolbar gs-button.button-explain {
    text-indent: 0;
    line-height: 1em;
    padding: 0.05em;
	padding-right: 0.65em;
    text-align: left;
}



.ace-toolbar gs-button.button-explain .explain-letter {
    font-size: 2em;
    line-height: 1.1em;
	margin-right: 0.5em;
}

.ace-toolbar-labeled gs-button.button-explain .explain-letter {
    font-size: 1.5em;
}

.ace-toolbar gs-button.button-explain .explain-letter:after {
    position: absolute;
    display: inline-block;
    height: 1em;
    width: 1em;
    text-align: center;
    font-size: 0.5em;
    font-weight: 900;
    line-height: 1em;
    left: 1.25em;
    top: 1.125em;
	font-family: fontawesome;
}

.ace-toolbar gs-button.button-explain .explain-letter[icon="chevron-down"]:after {
	content: '\f078';
}
.ace-toolbar gs-button.button-explain .explain-letter[icon="play-circle-o"]:after {
	content: '\f01d';
}
.ace-toolbar gs-button.button-explain .explain-letter[icon="play"]:after {
	content: '\f04b';
}


/* ##################################################### */
/* #################### ACE BUTTONS #################### */
/* ##################################################### */

.ace-toolbar gs-button.button-ace-info {
    text-indent: 0;
    line-height: 1em;
    padding: 0;
	padding-right: 0.65em;
    text-align: left;
}
.ace-toolbar gs-button.button-ace-info .ace-icon-container {
    display: inline-block;
	position: relative;
	left: 0.5em;
	width: 2.38em;
	height: 1.568em;
}

.ace-toolbar-labeled gs-button.button-ace-info .ace-icon-container {
	width: 2em;
}

.ace-toolbar-unlabeled gs-button.button-ace-info .ace-icon-container {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}


.ace-toolbar gs-button.button-ace-info .ace-suit {
    display: inline-block;
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    font-size: 2.5em;
    line-height: 0.6em;
}

.ace-toolbar-unlabeled gs-button .ace-suit {
    text-align: center;
    vertical-align: middle;
    padding-top: 0.07em;
    width: .9em !important
}
.ace-toolbar-unlabeled gs-button .ace-letter {
    text-align: center;
    vertical-align: middle;
    padding-top: 0.07em;
    width: 2.32em !important;
    left: 0 !important;
}
.ace-toolbar-unlabeled gs-button.button-ace-info {
    width: 2.35em;
}
.ace-toolbar-labeled gs-button .ace-letter {
    left: 0.36em !important;
    top: -2px !important;
}
.ace-toolbar-labeled gs-button.button-ace-info {
    height: 2em;
}

.ace-toolbar-labeled gs-button.button-ace-info span.ace-toolbar-labeled-only {
    position: relative;
    top: -.3em;
    padding-left: 0px;
}

.ace-toolbar-labeled gs-button.button-explain label {
    position: relative;
    top: -.25em;
    padding-left: 0px;
}
    

.ace-toolbar gs-button.button-ace-info .ace-letter {
    display: inline-block;
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0.55em;
    top: 0px;
    font-size: 1em;
    line-height: 2em;
    color: #FFF;
}

.ace-toolbar gs-button.button-ace-info .ace-letter .ace-toolbar-labeled {
    display: inline-block;
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0.37em;
    top: -1px;
    font-size: 1em;
    line-height: 2em;
    color: #FFF;
}


/* ##################################################### */
/* ################### SIMPLE  TABLE ################### */
/* ##################################################### */

.simple-table {
     border-left: 1px solid #ddd;
}


/* ##################################################### */
/* ################### EXPLAIN NODES ################### */
/* ##################################################### */

.costliest-label, .largest-label, .slowest-label {
    background: #f00;
    color: #fff;
    -webkit-border-radius: 0.5em;
    -moz-border-radius: 0.5em;
    -ms-border-radius: 0.5em;
    -o-border-radius: 0.5em;
    border-radius: 0.5em;
    padding: 0.1em 0.2em;
    display: inline-block;
}

.explain-bar {
    font-family: monospace;
    margin: 0;
}

.explain-bar-0 {
    margin: 0;
    padding: 0.1em;
    display: inline-block;
}

.explain-bar-block {
    margin: 0;
    padding: 0.1em;
    display: inline-block;
    width: 0.5em;
}

.explain-bar.red .explain-bar-block {
    background: #f00;
    color: #fff;
}

.explain-bar.yellow .explain-bar-block {
    background: #ff0;
    color: #000;
}

.explain-bar.green .explain-bar-block {
    background: #0f0;
    color: #000;
}

.explain-bar.cyan .explain-bar-block {
    background: #0ff;
    color: #000;
}

.explain-bar.blue .explain-bar-block {
    background: #00f;
    color: #fff;
}

.explain-bar-label {
    font-family: monospace;
    margin: 0;
    padding: 0.1em;
    width: 3em;
}

.explain-node circle {
    fill: #555;
}

.explain-node text {
    text-shadow: 0 1px 0 #fff, 0 -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff;
    font: 10px sans-serif;
}

.explain-link {
    fill: none;
    stroke: #555;
    stroke-opacity: 0.4;
    stroke-width: 1.5px;
}

/* ##################################################### */
/* ################ NOTIFICATION DIALOG ################ */
/* ##################################################### */

.button-channel-close {
    border-left: 0 none;
}

#badge-notification-feed {
    display: block;
    position: absolute;

    left: -0.5em;
    top: -0.2em;

    background-color: #FF0000;
    text-indent: 0;
    border-radius: 4px;
    z-index: 1;
    padding: 0.3em;
    text-align: center;
    height: 1em;
    line-height: 1.1em;
    color: #FFFFFF;
}

#notification-channel-insert,
#notification-channel-list .channel {
    padding: 0.25em;
}

#notification-channel-insert {
    border-bottom: 1px solid #AAA;
}

#notification-channel-list .channel {
    border-bottom: 1px solid #AAA;
    padding: 0.25em;
    cursor: pointer;
}

#notification-channel-list .channel-unread-number {
    border: 2px solid #AAA;
    border-radius: 50%;
    margin-right: 0.25em;
    min-width: 2em;
    text-align: center;
    padding: 0.25em;
    box-sizing: border-box;
}

#notification-channel-list .channel-unread-number.unread {
    border-color: #FF0000;
}


.notify-message .notify-message-inner {
    display: inline-block;
    /*width: 75%;*/
    max-width: 400px;
    border: 2px solid #AAA;
    background-color: #f9f8f8;
    margin-bottom: 0.25em;
    padding: 0.25em;
    white-space: pre-wrap;
}

.notify-message:not(.text-right) .notify-message-inner {
    border-radius: 0 0.5em 0.5em 0.5em;
}
.notify-message.text-right .notify-message-inner {
    border-radius: 0.5em 0 0.5em 0.5em;
    background-color: #c8f9c6;
}
